/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package org.cip.esymons.tesoreria.beans;

import java.sql.SQLException;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import javax.faces.model.SelectItem;
import org.cip.esymons.colegiatura.be.Colegiado;
import org.cip.esymons.colegiatura.be.TipoColegiado;
import org.cip.esymons.general.be.PersonaNatural;
import org.cip.esymons.general.be.Solicitante;
import org.cip.esymons.general.util.ControladorAbstracto;
import org.cip.esymons.general.util.FormatoExportacion;
import org.cip.esymons.general.util.Reporteador;
import org.cip.esymons.general.util.Utiles;
import org.cip.esymons.tesoreria.adapters.VerDeuda;
import org.cip.esymons.tesoreria.bc.ColegiadoDelegate;
import org.cip.esymons.tesoreria.bc.MovimientoCuentaDelegate;
import org.cip.esymons.tesoreria.bc.ProcesoElectoralDelegate;
import org.cip.esymons.tesoreria.bc.VotacionColegiadoDelegate;
import org.cip.esymons.tesoreria.bc.VotacionTranseuntesDelegate;
import org.cip.esymons.tesoreria.be.EnumEstadoProcesoElectoral;
import org.cip.esymons.tesoreria.be.EnumEstadoVotacionColegiado;
import org.cip.esymons.tesoreria.be.EnumTipoDeuda;
import org.cip.esymons.tesoreria.be.ProcesoElectoral;
import org.cip.esymons.tesoreria.be.VotacionColegiado;
import org.cip.esymons.tesoreria.be.VotacionTranseuntes;

/**
 *
 * @author Ingrid Capuñay
 */
public class VotacionColegiadoController {

    private VotacionColegiadoDelegate delegadoVotacionColegiado;
    private VotacionColegiado votacionColegiado = null;
    private ProcesoElectoral procesoElectoralParaVotacion;
    private ProcesoElectoral procesoElectoralParaVerConsultas;
    private int tipoBusquedaDNIoCIP;/*0=CIP, 1=DNI*/

    private int tipoBusquedaDNIoCIPVotaciones;/*0=CIP, 1=DNI*/

    private int tipoBusquedaDNIoCIPMesa;/*0=CIP, 1=DNI*/ /*para Miembros de Mesa*/


    private String almacenaDnioCip;
    private String almacenaDnioCipVotaciones;
    private String almacenaDnioCipMesa; /*para Miembros de Mesa*/

    private ColegiadoDelegate delegadoColegiado;
    private Solicitante colegiadoEncontradoParaVerVotaciones;
    private TipoColegiado tipoColegiadoParaVerConsultas = null;
    private Colegiado personaAmostrar;
    private Colegiado personaAmostrarMesa; //para Miembros de Mesa
    private VerDeuda verDeudaXCuotas;
    private VerDeuda verDeudaXMultas;
    private VerDeuda verDeudaXCuotasMesa; //para Miembros de Mesa
    private VerDeuda verDeudaXMultasMesa; //para Miembros de Mesa
    private MovimientoCuentaDelegate delegadoMovimientoCuenta;
    private Boolean puedeVotar = false;
    private Boolean puedeRegistrarseMesa = false; //para Miembros de Mesa
    private EnumEstadoVotacionColegiado tipoReporteParaVerConsultas;
    private Integer tipoOrdenamientoReporteParaVerConsultas;
    private Integer tipoOrdenamientoReporteExternos;
    private VotacionTranseuntesDelegate delegadoVotacionTranseuntes;
    private ProcesoElectoral procesoElectoralParaActivar;
    private ProcesoElectoralDelegate delegadoProcesoElectoral;
    private Boolean esMiembroDeMesa = false;
    private Boolean asistioComoMiembroDeMesa = false;

    public VotacionColegiadoController() {
        delegadoVotacionColegiado = new VotacionColegiadoDelegate();
        delegadoColegiado = new ColegiadoDelegate();
        delegadoMovimientoCuenta = new MovimientoCuentaDelegate();
        delegadoVotacionTranseuntes = new VotacionTranseuntesDelegate();
        delegadoProcesoElectoral = new ProcesoElectoralDelegate();
    }

    /**
     * @return the procesoElectoralParaVotacion
     */
    public ProcesoElectoral getProcesoElectoralParaVotacion() {
        return procesoElectoralParaVotacion;
    }

    /**
     * @param procesoElectoralParaVotacion the procesoElectoralParaVotacion to set
     */
    public void setProcesoElectoralParaVotacion(ProcesoElectoral procesoElectoralParaVotacion) {
        this.procesoElectoralParaVotacion = procesoElectoralParaVotacion;
    }

    public String fijarProcesoElectoralParaVotacionColInternos() {
        if (procesoElectoralParaVotacion != null) {
            return "marcarVotacion";
        } else {
            return null;
        }

    }

    public String fijarProcesoElectoralParaVotacionTranseuntes() {
        if (procesoElectoralParaVotacion != null) {
            return "marcarVotacionTranseuntes";
        } else {
            return null;
        }

    }

    public List<Colegiado> getListaColegiadosVotantes() {
        try {
            return delegadoVotacionColegiado.listaColegiadosVOTANTESSegunEleccion(procesoElectoralParaVerConsultas);
        } catch (Exception ex) {
            return new ArrayList();
        }
    }

    public List<Colegiado> getListaColegiadosNoVotantes() {
        try {
            return delegadoVotacionColegiado.listaColegiadosNOVOTANTESSegunEleccion(procesoElectoralParaVerConsultas);
        } catch (Exception ex) {
            return new ArrayList();
        }
    }

    public List<VotacionColegiado> getListaVotacionesSegunColegiado() {
        if (colegiadoEncontradoParaVerVotaciones != null) {
            List<VotacionColegiado> lisVot = delegadoVotacionColegiado.VotacionesXColegiado(((PersonaNatural) colegiadoEncontradoParaVerVotaciones).getColegiado());
            if (lisVot.size() == 0) {
                ControladorAbstracto.info("Colegiado no está relacionado con ninguna Votación hasta la Fecha.");
            }
            return lisVot;
        } else {
            return new ArrayList();
        }
    }

    /**
     * @return the tipoBusquedaDNIoCIP
     */
    public int getTipoBusquedaDNIoCIP() {
        return tipoBusquedaDNIoCIP;
    }

    /**
     * @param tipoBusquedaDNIoCIP the tipoBusquedaDNIoCIP to set
     */
    public void setTipoBusquedaDNIoCIP(int tipoBusquedaDNIoCIP) {
        this.tipoBusquedaDNIoCIP = tipoBusquedaDNIoCIP;
    }

    /**
     * @return the almacenaDnioCip
     */
    public String getAlmacenaDnioCip() {
        return almacenaDnioCip;
    }

    /**
     * @param almacenaDnioCip the almacenaDnioCip to set
     */
    public void setAlmacenaDnioCip(String almacenaDnioCip) {
        this.almacenaDnioCip = almacenaDnioCip;
    }

    public String retornarDeMarcarVotacion() {
        verDeudaXCuotas = null;
        verDeudaXMultas = null;
        votacionColegiado = null;
        personaAmostrar = null;
        esMiembroDeMesa = false;
        puedeVotar = false;
        asistioComoMiembroDeMesa = false;
        return "registrarMiembrosMesa";
    }

    public String retornarDeIngresarMiembrosMesa() {
        verDeudaXCuotasMesa = null;
        verDeudaXMultasMesa = null;
        votacionColegiado = null;
        personaAmostrarMesa = null;
        esMiembroDeMesa = false;
        asistioComoMiembroDeMesa = false;
        puedeRegistrarseMesa = false;
        return "registrarMiembrosMesa";
    }

    public String buscarColegiadoParaVotar() {
        verDeudaXCuotas = null;
        verDeudaXMultas = null;
        votacionColegiado = null;
        personaAmostrar = null;
        esMiembroDeMesa = false;
        puedeVotar = false;
        asistioComoMiembroDeMesa = false;
        try {
            if (tipoBusquedaDNIoCIP == 0) { /*Ingrese un CIP*/
                String cipRealVot = Utiles.devuelveCipCompleto(almacenaDnioCip);
                personaAmostrar = delegadoColegiado.buscarColegiadoXCip(cipRealVot);
            } else {
                personaAmostrar = delegadoColegiado.buscarColegiadoXDni(almacenaDnioCip);
            }
            if (personaAmostrar == null) {
                ControladorAbstracto.warn("No existe colegiado con el valor ingresado.Intente otro valor.");
            } else {
                votacionColegiado = delegadoVotacionColegiado.buscaSiColegiadoEstaAptoParaVotarPorCIP(personaAmostrar.getColnumeroCip(), procesoElectoralParaVotacion);
                if (votacionColegiado == null) {
                    ControladorAbstracto.error("El colegiado no se encuentra con estado TEMPORAL para esta elección.");
                } else {
                    esMiembroDeMesa = votacionColegiado.getEsMiembroDeMesa();
                    if (!votacionColegiado.getEstado().equals(EnumEstadoVotacionColegiado.Temporal)) {
                        if (votacionColegiado.getEstado().equals(EnumEstadoVotacionColegiado.Votó_Ordinario)) {
                            ControladorAbstracto.warn("El colegiado ya realizó su votación");
                        } else {
                            if (votacionColegiado.getEstado().equals(EnumEstadoVotacionColegiado.Exonerado_Votación)) {
                                ControladorAbstracto.warn("El colegiado está exonerado de esta votación");
                            } else {
                                ControladorAbstracto.warn("El colegiado no está apto para votar");
                            }
                        }

                    } else {
                        boolean tieneDeuda = delegadoVotacionColegiado.tieneDeudaPorMultasCuotas(personaAmostrar, procesoElectoralParaVotacion.getFechaRealizacion());
                        if (tieneDeuda) {
                            verDeudaXCuotas = delegadoMovimientoCuenta.mostrarDeudaTotalCuotasSolicitante(personaAmostrar.getSolCodigo(), EnumTipoDeuda.CUOTA_CIP.ordinal(), procesoElectoralParaVotacion.getFechaRealizacion());
                            verDeudaXMultas = delegadoMovimientoCuenta.mostrarDeudaTotalCuotasSolicitante(personaAmostrar.getSolCodigo(), EnumTipoDeuda.MULTA.ordinal(), procesoElectoralParaVotacion.getFechaRealizacion());//
                            ControladorAbstracto.warn("El colegiado debe cancelar sus deudas antes de votar.");
                        } else {
                            puedeVotar = true;
                        }
                    }
                }
            }
        } catch (Exception e) {
            ControladorAbstracto.error("Ocurrió un error grave.");
        }
        return null;
    }

    //Metodo para buscar Colegiados para registrar los Miembros de Mesa
    public String registrarMiembros() {
        if (puedeRegistrarseMesa) {
            votacionColegiado.setEsMiembroDeMesa(true);
            delegadoVotacionColegiado.edit(votacionColegiado);
            ControladorAbstracto.warn("Se Registró el miembro de Mesa.");
        } else {
            ControladorAbstracto.error("No se puede Registrar Votación. No cumple con requisitos para ser Miembro de Mesa");
        }
        return null;
    }

    public String buscarColegiadoParaMesa() {
        verDeudaXCuotasMesa = null;
        verDeudaXMultasMesa = null;
        votacionColegiado = null;
        personaAmostrarMesa = null;
        esMiembroDeMesa = false;
        asistioComoMiembroDeMesa = false;
        puedeRegistrarseMesa = false;
        try {
            if (tipoBusquedaDNIoCIPMesa == 0) { /*Ingrese un CIP*/
                String cipRealVot = Utiles.devuelveCipCompleto(almacenaDnioCipMesa);
                personaAmostrarMesa = delegadoColegiado.buscarColegiadoXCip(cipRealVot);
            } else {
                personaAmostrarMesa = delegadoColegiado.buscarColegiadoXDni(almacenaDnioCipMesa);
            }
            if (personaAmostrarMesa == null) {
                ControladorAbstracto.warn("No existe colegiado con el valor ingresado.Intente otro valor.");
            } else {
                votacionColegiado = delegadoVotacionColegiado.buscaSiColegiadoEstaAptoParaVotarPorCIP(personaAmostrarMesa.getColnumeroCip(), procesoElectoralParaVotacion);
                if (votacionColegiado == null) {
                    ControladorAbstracto.error("El colegiado no se encuentra con estado TEMPORAL para esta elección.");
                } else {

                    boolean tieneDeuda = delegadoVotacionColegiado.tieneDeudaPorMultasCuotas(personaAmostrarMesa, procesoElectoralParaVotacion.getFechaRealizacion());
                    if (tieneDeuda) {
                        verDeudaXCuotasMesa = delegadoMovimientoCuenta.mostrarDeudaTotalCuotasSolicitante(personaAmostrarMesa.getSolCodigo(), EnumTipoDeuda.CUOTA_CIP.ordinal(), procesoElectoralParaVotacion.getFechaRealizacion());
                        verDeudaXMultasMesa = delegadoMovimientoCuenta.mostrarDeudaTotalCuotasSolicitante(personaAmostrarMesa.getSolCodigo(), EnumTipoDeuda.MULTA.ordinal(), procesoElectoralParaVotacion.getFechaRealizacion());//
                        ControladorAbstracto.warn("El colegiado debe cancelar sus deudas antes de poder ser Miembro de Mesa.");
                    } else {
                        puedeRegistrarseMesa = true;
                    }

                }
            }
        } catch (Exception e) {
            ControladorAbstracto.error("Ocurrió un error grave.");
        }
        return null;
    }

    public String limpiarVerVotaciones() {
        almacenaDnioCipVotaciones = null;
        colegiadoEncontradoParaVerVotaciones = null;
        return null;
    }

    public String buscarColegiadoVotaciones() {
        if (tipoBusquedaDNIoCIPVotaciones == 0) { /*CIP*/
            String cipVotante = Utiles.devuelveCipCompleto(almacenaDnioCipVotaciones);
            colegiadoEncontradoParaVerVotaciones = delegadoColegiado.buscarColegiadoPorCIP(cipVotante);
        } else {/*DNI*/
            colegiadoEncontradoParaVerVotaciones = delegadoColegiado.buscarColegiadoPorDNI(almacenaDnioCipVotaciones);
        }
        return null;
    }

    public String confirmarVotacion() {
        if (puedeVotar == true) {
            votacionColegiado.setEstado(EnumEstadoVotacionColegiado.Votó_Ordinario);
            votacionColegiado.setEsMiembroDeMesa(esMiembroDeMesa);
            votacionColegiado.setAsistioComoMiembroMesa(asistioComoMiembroDeMesa);
            delegadoVotacionColegiado.edit(votacionColegiado);
            verDeudaXCuotas = null;
            verDeudaXMultas = null;
            votacionColegiado = null;
            personaAmostrar = null;
            esMiembroDeMesa = false;
            puedeVotar = false;
            asistioComoMiembroDeMesa = false;
            ControladorAbstracto.info("Se Registró con éxito la Votación del Colegiado.");
        } else {
            ControladorAbstracto.error("No se puede Registrar Votación. No cumple con requisitos para sufragar");
        }
        return null;
    }

    public String cerrarVotacion() {
        ControladorAbstracto.warn("Por favor espere a que se muestren los mensajes de Exito al finalizar el Cierre de la Votación");
        delegadoVotacionColegiado.cerrarVotacion(procesoElectoralParaVotacion);
        return null;
    }

    public String activarVotacion() {
        return "page_ActivarVotacion";
    }

    public String fijarActivacionDeVotacion() {
        procesoElectoralParaActivar.setEstado(EnumEstadoProcesoElectoral.En_Proceso);
        delegadoProcesoElectoral.edit(procesoElectoralParaActivar);
        return "page_selecEleccion";
    }

    /**CODIGO DE REPORTES DE DATOS DE LAS VOTACIONES POR COLEGIADO*/
    public String reporteVotacionesPorColegiado() throws SQLException {
        if (colegiadoEncontradoParaVerVotaciones != null) {
            List<VotacionColegiado> lista = delegadoVotacionColegiado.VotacionesXColegiado(((PersonaNatural) colegiadoEncontradoParaVerVotaciones).getColegiado());
            if (lista != null) {
                if (lista.size() > 0) {
                    Reporteador reporteador = new Reporteador();
                    reporteador.exportarReporte("rptVotacionXCole", FormatoExportacion.pdf, lista, null);
                }
            }
        } else {
            ControladorAbstracto.error("Debe Ingresar un Colegiado a buscar");
        }
        return null;
    }

    public SelectItem[] getListaEstadosParaVotaciones() {
        try {
            SelectItem[] select = new SelectItem[EnumEstadoVotacionColegiado.values().length];
            int cont = 0;
            for (EnumEstadoVotacionColegiado e : EnumEstadoVotacionColegiado.values()) {
                SelectItem item = new SelectItem(e, e.name());
                select[cont] = item;
                cont++;
            }
            return select;
        } catch (Exception e) {
            SelectItem[] select = new SelectItem[1];
            SelectItem item = new SelectItem(null, "No existen Estados");
            select[0] = item;
            return select;
        }
    }

    public String fijarVotacionRealizadaExternamente() {
        if (votacionColegiado.getProcesoElectoral().getEstado().equals(EnumEstadoProcesoElectoral.Realizado)) {
            if ((votacionColegiado.getObservacion() != null) && (!votacionColegiado.getObservacion().isEmpty())) {
                votacionColegiado.setEstado(EnumEstadoVotacionColegiado.Mesa_Transeuntes);
                delegadoVotacionColegiado.edit(votacionColegiado);
                delegadoMovimientoCuenta.anularDeuda(votacionColegiado.getColegiado().getPersonaNatural(), votacionColegiado.getProcesoElectoral().getListaCuentasIngresoElectorales().get(0).getCuentaIngreso(), votacionColegiado.getProcesoElectoral().getFechaRealizacion(), null);
                ControladorAbstracto.info("Votación del Colegiado registrada exitosamente que VOTÓ como MESA de TRANSEUNTES ");
            } else {
                ControladorAbstracto.warn("Debe Ingresar en OBSERVACIÓN el NOMBRE del CONSEJO DEPARTAMENTAL donde el Colegiado VOTÓ");
            }
        } else {
            ControladorAbstracto.warn("Debe CERRARSE primero la Votación del Proceso Electoral Seleccionado antes de Registrarse el VOTO como MESA de TRANSEUNTES");
        }
        return null;
    }

    public String editarEstadoyObservacionDeVotacion() {
        if (votacionColegiado.getEstado().equals(EnumEstadoVotacionColegiado.Temporal)) {
            if (votacionColegiado.getProcesoElectoral().getEstado().equals(EnumEstadoProcesoElectoral.En_Proceso)) {
                if ((votacionColegiado.getObservacion() != null) && (!votacionColegiado.getObservacion().isEmpty())) {
                    votacionColegiado.setEstado(EnumEstadoVotacionColegiado.Exonerado_Votación);
                    delegadoVotacionColegiado.edit(votacionColegiado);
                    ControladorAbstracto.info("Exoneración registrada exitosamente");
                } else {
                    ControladorAbstracto.warn("Debe Ingresar en OBSERVACIÓN el tipo y nº documento de la RESOLUCION de EXONERACION para que se pueda EXONERAR de la VOTACIÓN");
                    return null;
                }
            } else {
                ControladorAbstracto.warn("Sólo se puede EXONERAR de la VOTACION al Colegiado antes de CERRARSE la VOTACION del PROCESO ELECTORAL seleccionado");
                return null;
            }
        } else {
            if (votacionColegiado.getEstado().equals(EnumEstadoVotacionColegiado.Exonerado_Votación)) {
                ControladorAbstracto.warn("Colegiado ya fue EXONERADO de la Votación");
                return null;
            } else {
                ControladorAbstracto.warn("Sólo se puede cambiar del estado de APTO para la Votación a EXONERADO de la Votación");
                return null;
            }

        }
        return null;

    }

//    public String reporteDeNoVotantesPorEleccion() throws SQLException {
//        if (procesoElectoralParaVerConsultas != null) {
//            if (procesoElectoralParaVerConsultas.getEstado().equals(EnumEstadoProcesoElectoral.Realizado)) {
//                List<Colegiado> lista = delegadoVotacionColegiado.listaColegiadosOMISOSxEleccionYtipoCole(procesoElectoralParaVerConsultas, tipoColegiadoParaVerConsultas);
//                Map parametros = new HashMap();
//                parametros.put("eleccion", procesoElectoralParaVerConsultas);
//                if (lista != null) {
//                    if (lista.size() > 0) {
//                        Reporteador reporteador = new Reporteador();
//                        reporteador.exportarReporte("rptNoVotantesXEleccion", FormatoExportacion.pdf, lista, parametros);
//                    } else {
//                        ControladorAbstracto.error("No existe Reporte para los datos a Consultar");
//                    }
//                }
//            } else {
//                ControladorAbstracto.error("Tiene que Cerrarse la Votación del Proceso Electoral a Consultar para Mostrar el Reporte de NO Votantes");
//            }
//        } else {
//            ControladorAbstracto.error("Seleccione un Proceso Electoral para el Reporte");
//        }
//        return null;
//    }
    public String reporteDeElecciones() throws SQLException {
        if (procesoElectoralParaVerConsultas != null) {
            if (tipoColegiadoParaVerConsultas == null || !tipoColegiadoParaVerConsultas.getTcoNombre().equals("Externo")) {
                List<VotacionColegiado> lista = delegadoVotacionColegiado.listaColegiadosParaReporteDeEleccionesSegunCondiciones(procesoElectoralParaVerConsultas, tipoColegiadoParaVerConsultas, tipoReporteParaVerConsultas, tipoOrdenamientoReporteParaVerConsultas);
                Map parametros = new HashMap();
                if (tipoReporteParaVerConsultas != null) {
                    parametros.put("tipoEstado", tipoReporteParaVerConsultas.name());
                } else {
                    parametros.put("tipoEstado", "Todos");
                }
                if (lista != null) {
                    if (lista.size() > 0) {
                        Reporteador reporteador = new Reporteador();
                        reporteador.exportarReporte("rptElecciones", FormatoExportacion.pdf, lista, parametros);
                    } else {
                        ControladorAbstracto.error("No existe Reporte para los datos a Consultar");
                    }
                }
            } else {
                List<VotacionTranseuntes> listaExt = delegadoVotacionTranseuntes.listaColegiadosExternosVotantes(procesoElectoralParaVerConsultas, tipoOrdenamientoReporteExternos);
                if (listaExt != null) {
                    if (listaExt.size() > 0) {
                        Reporteador reporteador = new Reporteador();
                        reporteador.exportarReporte("rptEleccionesExternos", FormatoExportacion.pdf, listaExt, null);
                    } else {
                        ControladorAbstracto.error("No existe Reporte para los datos a Consultar");
                    }
                }
            }

        } else {
            ControladorAbstracto.error("Seleccione un Proceso Electoral para el Reporte");
        }
        return null;
    }

    /**
     * @return the procesoElectoralParaVerConsultas
     */
    public ProcesoElectoral getProcesoElectoralParaVerConsultas() {
        return procesoElectoralParaVerConsultas;
    }

    /**
     * @param procesoElectoralParaVerConsultas the procesoElectoralParaVerConsultas to set
     */
    public void setProcesoElectoralParaVerConsultas(ProcesoElectoral procesoElectoralParaVerConsultas) {
        this.procesoElectoralParaVerConsultas = procesoElectoralParaVerConsultas;
    }

    /**
     * @return the tipoBusquedaDNIoCIPVotaciones
     */
    public int getTipoBusquedaDNIoCIPVotaciones() {
        return tipoBusquedaDNIoCIPVotaciones;
    }

    /**
     * @param tipoBusquedaDNIoCIPVotaciones the tipoBusquedaDNIoCIPVotaciones to set
     */
    public void setTipoBusquedaDNIoCIPVotaciones(int tipoBusquedaDNIoCIPVotaciones) {
        this.tipoBusquedaDNIoCIPVotaciones = tipoBusquedaDNIoCIPVotaciones;
    }

    /**
     * @return the almacenaDnioCipVotaciones
     */
    public String getAlmacenaDnioCipVotaciones() {
        return almacenaDnioCipVotaciones;
    }

    /**
     * @param almacenaDnioCipVotaciones the almacenaDnioCipVotaciones to set
     */
    public void setAlmacenaDnioCipVotaciones(String almacenaDnioCipVotaciones) {
        this.almacenaDnioCipVotaciones = almacenaDnioCipVotaciones;
    }

    /**
     * @return the tipoColegiadoParaVerConsultas
     */
    public TipoColegiado getTipoColegiadoParaVerConsultas() {
        return tipoColegiadoParaVerConsultas;
    }

    /**
     * @param tipoColegiadoParaVerConsultas the tipoColegiadoParaVerConsultas to set
     */
    public void setTipoColegiadoParaVerConsultas(TipoColegiado tipoColegiadoParaVerConsultas) {
        this.tipoColegiadoParaVerConsultas = tipoColegiadoParaVerConsultas;
    }

    /**
     * @return the personaAmostrar
     */
    public Colegiado getPersonaAmostrar() {
        return personaAmostrar;
    }

    /**
     * @param personaAmostrar the personaAmostrar to set
     */
    public void setPersonaAmostrar(Colegiado personaAmostrar) {
        this.personaAmostrar = personaAmostrar;
    }

    /**
     * @return the verDeudaXMultas
     */
    public VerDeuda getVerDeudaXMultas() {
        return verDeudaXMultas;
    }

    /**
     * @param verDeudaXMultas the verDeudaXMultas to set
     */
    public void setVerDeudaXMultas(VerDeuda verDeudaXMultas) {
        this.verDeudaXMultas = verDeudaXMultas;
    }

    /**
     * @return the verDeudaXCuotas
     */
    public VerDeuda getVerDeudaXCuotas() {
        return verDeudaXCuotas;
    }

    /**
     * @param verDeudaXCuotas the verDeudaXCuotas to set
     */
    public void setVerDeudaXCuotas(VerDeuda verDeudaXCuotas) {
        this.verDeudaXCuotas = verDeudaXCuotas;
    }

    /**
     * @return the colegiadoEncontradoParaVerVotaciones
     */
    public Solicitante getColegiadoEncontradoParaVerVotaciones() {
        return colegiadoEncontradoParaVerVotaciones;
    }

    /**
     * @param colegiadoEncontradoParaVerVotaciones the colegiadoEncontradoParaVerVotaciones to set
     */
    public void setColegiadoEncontradoParaVerVotaciones(Solicitante colegiadoEncontradoParaVerVotaciones) {
        this.colegiadoEncontradoParaVerVotaciones = colegiadoEncontradoParaVerVotaciones;
    }

    /**
     * @return the tipoReporteParaVerConsultas
     */
    public EnumEstadoVotacionColegiado getTipoReporteParaVerConsultas() {
        return tipoReporteParaVerConsultas;
    }

    /**
     * @param tipoReporteParaVerConsultas the tipoReporteParaVerConsultas to set
     */
    public void setTipoReporteParaVerConsultas(EnumEstadoVotacionColegiado tipoReporteParaVerConsultas) {
        this.tipoReporteParaVerConsultas = tipoReporteParaVerConsultas;
    }

    /**
     * @return the tipoOrdenamientoReporteParaVerConsultas
     */
    public Integer getTipoOrdenamientoReporteParaVerConsultas() {
        return tipoOrdenamientoReporteParaVerConsultas;
    }

    /**
     * @param tipoOrdenamientoReporteParaVerConsultas the tipoOrdenamientoReporteParaVerConsultas to set
     */
    public void setTipoOrdenamientoReporteParaVerConsultas(Integer tipoOrdenamientoReporteParaVerConsultas) {
        this.tipoOrdenamientoReporteParaVerConsultas = tipoOrdenamientoReporteParaVerConsultas;
    }

    /**
     * @return the votacionColegiado
     */
    public VotacionColegiado getVotacionColegiado() {
        return votacionColegiado;
    }

    /**
     * @param votacionColegiado the votacionColegiado to set
     */
    public void setVotacionColegiado(VotacionColegiado votacionColegiado) {
        this.votacionColegiado = votacionColegiado;
    }

    /**
     * @return the tipoOrdenamientoReporteExternos
     */
    public Integer getTipoOrdenamientoReporteExternos() {
        return tipoOrdenamientoReporteExternos;
    }

    /**
     * @param tipoOrdenamientoReporteExternos the tipoOrdenamientoReporteExternos to set
     */
    public void setTipoOrdenamientoReporteExternos(Integer tipoOrdenamientoReporteExternos) {
        this.tipoOrdenamientoReporteExternos = tipoOrdenamientoReporteExternos;
    }

    /**
     * @return the procesoElectoralParaActivar
     */
    public ProcesoElectoral getProcesoElectoralParaActivar() {
        return procesoElectoralParaActivar;
    }

    /**
     * @param procesoElectoralParaActivar the procesoElectoralParaActivar to set
     */
    public void setProcesoElectoralParaActivar(ProcesoElectoral procesoElectoralParaActivar) {
        this.procesoElectoralParaActivar = procesoElectoralParaActivar;
    }

    /**
     * @return the esMiembroDeMesa
     */
    public Boolean getEsMiembroDeMesa() {
        return esMiembroDeMesa;
    }

    /**
     * @param esMiembroDeMesa the esMiembroDeMesa to set
     */
    public void setEsMiembroDeMesa(Boolean esMiembroDeMesa) {
        this.esMiembroDeMesa = esMiembroDeMesa;
    }

    /**
     * @return the asistioComoMiembroDeMesa
     */
    public Boolean getAsistioComoMiembroDeMesa() {
        return asistioComoMiembroDeMesa;
    }

    /**
     * @param asistioComoMiembroDeMesa the asistioComoMiembroDeMesa to set
     */
    public void setAsistioComoMiembroDeMesa(Boolean asistioComoMiembroDeMesa) {
        this.asistioComoMiembroDeMesa = asistioComoMiembroDeMesa;
    }

    /**
     * @return the puedeVotar
     */
    public Boolean getPuedeVotar() {
        return puedeVotar;
    }

    /**
     * @return the tipoBusquedaDNIoCIPMesa
     */
    public int getTipoBusquedaDNIoCIPMesa() {
        return tipoBusquedaDNIoCIPMesa;
    }

    /**
     * @param tipoBusquedaDNIoCIPMesa the tipoBusquedaDNIoCIPMesa to set
     */
    public void setTipoBusquedaDNIoCIPMesa(int tipoBusquedaDNIoCIPMesa) {
        this.tipoBusquedaDNIoCIPMesa = tipoBusquedaDNIoCIPMesa;
    }

    /**
     * @return the almacenaDnioCipMesa
     */
    public String getAlmacenaDnioCipMesa() {
        return almacenaDnioCipMesa;
    }

    /**
     * @param almacenaDnioCipMesa the almacenaDnioCipMesa to set
     */
    public void setAlmacenaDnioCipMesa(String almacenaDnioCipMesa) {
        this.almacenaDnioCipMesa = almacenaDnioCipMesa;
    }

    /**
     * @return the personaAmostrarMesa
     */
    public Colegiado getPersonaAmostrarMesa() {
        return personaAmostrarMesa;
    }

    /**
     * @param personaAmostrarMesa the personaAmostrarMesa to set
     */
    public void setPersonaAmostrarMesa(Colegiado personaAmostrarMesa) {
        this.personaAmostrarMesa = personaAmostrarMesa;
    }

    /**
     * @return the verDeudaXCuotasMesa
     */
    public VerDeuda getVerDeudaXCuotasMesa() {
        return verDeudaXCuotasMesa;
    }

    /**
     * @param verDeudaXCuotasMesa the verDeudaXCuotasMesa to set
     */
    public void setVerDeudaXCuotasMesa(VerDeuda verDeudaXCuotasMesa) {
        this.verDeudaXCuotasMesa = verDeudaXCuotasMesa;
    }

    /**
     * @return the verDeudaXMultasMesa
     */
    public VerDeuda getVerDeudaXMultasMesa() {
        return verDeudaXMultasMesa;
    }

    /**
     * @param verDeudaXMultasMesa the verDeudaXMultasMesa to set
     */
    public void setVerDeudaXMultasMesa(VerDeuda verDeudaXMultasMesa) {
        this.verDeudaXMultasMesa = verDeudaXMultasMesa;
    }

    /**
     * @return the puedeRegistrarseMesa
     */
    public Boolean getPuedeRegistrarseMesa() {
        return puedeRegistrarseMesa;
    }

    /**
     * @param puedeRegistrarseMesa the puedeRegistrarseMesa to set
     */
    public void setPuedeRegistrarseMesa(Boolean puedeRegistrarseMesa) {
        this.puedeRegistrarseMesa = puedeRegistrarseMesa;
    }
}
